package com.yilin.tms.data.service;

import com.yilin.tms.core.application.PageData;
import com.yilin.tms.core.entity.data.bill.BillOption;
import com.yilin.tms.core.entity.data.bill.TruckerBill;
import com.yilin.tms.core.entity.order.payment.OrderSettlementCost;
import com.yilin.tms.core.entity.order.transit.TransitOrder;
import com.yilin.tms.core.entity.user.account.Account;

import java.util.List;

public interface IBillService {

    PageData<TruckerBill> getTruckerBillPage(TruckerBill query, Integer page, Integer limit);

    void addTruckerBill(Account loginUser, TruckerBill truckerBill, List<TransitOrder> transitOrderList,List<OrderSettlementCost> settlementList );

    String generatePdf(Account loginUser, String filePath, TruckerBill truckerBill, BillOption billOption);




    String generateTruckerPdf(Account loginUser, String filePath, String[] accountIds);

    String generateVehiclePdf(Account loginUser, String filePath, String[] vehicleIds);

    String generateTransitOrderPdf(Account loginUser, String filePath, String[] transitOrderIds);

    String generateSettlementOrderPdf(Account loginUser, String filePath, String[] settlementCostIds);

    String generateReceiptOrderPdf(Account loginUser, String filePath, String[] transitOrderNoteIds);



    String generateExcel(Account loginUser, String filePath, List<TruckerBill> billList);

    List<TruckerBill> getTruckerBillsByIds(String[] truckerBillIds);

    void scrapTruckerBill(Account loginUser, List<TruckerBill> truckerBillList);
}
